#ifndef HUMIDITY_H
#define HUMIDITY_H

#include <QWidget>
#include <QTimer>
#include <QDebug>
#include <sys/ioctl.h>
#include <QLabel>
#include <QSocketNotifier>
#include <QStandardItemModel>
#include <QListWidget> // 包含QListWidget头文件
#include <QTableView>
#include "settime.h"
#include "camera.h"
#include "wifiserial.h"

// 在 humidity.h 中
// class WIFIserial;
extern QSerialPort *serial2;

namespace Ui
{
    class Humidity;
}

class Humidity : public QWidget
{
    Q_OBJECT

public:
    explicit Humidity(QWidget *parent = 0);
    void adjustTableViewColumns(); // 声明调整表格列宽的函数
    SetTime *window = NULL;
    Camera *window_1 = NULL;
    WIFIserial *window_2 = NULL;

    ~Humidity();

private slots:
    void addTitleLabel();
    void handleKeyPress();
    void on_pushButton_clicked();
    void slt_timeout();
    void on_pushButton_2_clicked();
    void on_setT_clicked();
    void on_gocamera_clicked();

    void on_setWIFI_clicked();

private:
    Ui::Humidity *ui;
    QLabel *titleLabel; // 添加 QLabel 指针
    QListWidget *listWidget;
    void readSerial2();
    int fd;
    int pwm_fd;
    int key_fd;
    int sr04_fd;
    int light_fd;
    int led_fd;
    QSocketNotifier *key_notifier;
    QStandardItemModel *model;
    QTimer timer;
    QTableView *tableView;
};

#endif // HUMIDITY_H
